package com.manshutingyu.system.domain;

import cn.hutool.core.date.DatePattern;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;
import java.util.Date;

/**
 * @Author：yinyuxia
 * @Date：2025/3/31 19:49
 */
@TableName("sys_file")
@Data
public class SysFile  implements Serializable {
    @Serial
    private static final long serialVersionUID = 1L;
    /**
     * 主键ID
     */
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 文件名
     */
    private String fileName;
    /**
     * 原始文件名
     */
    private String originalName;
    /**
     * 文件存储桶名称
     */
    private String bucketName;
    /**
     * 桶类型 aliyun,minio
     */
    private String bucketType;
    /**
     * 文件类型
     */
    private String type;
    /**
     * 文件大小
     */
    private Long fileSize;
    /**
     * 访问地址
     */
    private String domain;
    /**
     * 创建人
     */
    @Schema(description = "创建人")
    private String createBy;

    /**
     * 创建时间
     */
    @Schema(description = "创建时间")
    @JsonFormat(pattern = DatePattern.NORM_DATETIME_PATTERN, timezone = "GMT+8")
    private Date createTime;

    /**
     * 修改人
     */
    @Schema(description = "修改人")
    private String updateBy;

    /**
     * 修改时间
     */
    @Schema(description = "修改时间")
    @JsonFormat(pattern = DatePattern.NORM_DATETIME_PATTERN, timezone = "GMT+8")
    private Date updateTime;

    /**
     * 删除状态，0未删除 1删除
     */
    @Schema(description = "删除状态，0:未删除 1:删除")
    @TableLogic
    private Integer delFlag;
}
